iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0

0. 進度條

模型 進度
VGG Net 完成
ResNet 完成
DensNet 完成
MobileNet 此篇
EfficientNet 未完成

0.1 前言

火雲邪神曾說:「天下武功,唯快不破」,/images/emoticon/emoticon18.gif
但那些又寬又深的網路,訓練時間和推論時間都極長,
我們要如何把它們放在手機等移動設備上呢?
所以科學家們開始反其道而行,
模型不再是以「大大大」為唯一目標,
有另外一個目標出現了:要小要快要輕。
而MobileNet就是著名的輕量化模型架構,
其論文開宗明義地說:

This paper describes an efficient network architecture
and a set of two hyper-parameters in order to build very small, low latency models
that can be easily matched to the design requirements for
mobile and embedded vision applications.


1. MobileNet v1

00

1.1 深度可分離卷積(Depthwise Separable Convolution)

  • 標準的卷積是對影像的三個維度長、寬、通道數(H,W,C)同時做卷積運算,
    若有K個(D,D)卷積核,則所需參數量為DxDxCxK。
  • 深度可分離卷積分成兩步驟:
    1. 深度卷積:先分別對單個通道做卷積,這樣會改變圖的解析度,但通道數(維度)保持不變。
    2. 逐點卷積:用1x1卷積核對C方向做卷積,不會改變解析度,但會改變通道數(維度)。
      若有K個(D,D)卷積核,則所需參數量為(DxD+C)xK,在C變大時,會省下不少參數量。
  • 經過計算,在3通道的彩色圖片中,只要D>=2就可以減少參數量。

如下圖所示:
01
論文中也統計了各種類型的網路層所需參數量的比例:
02

1.2 Width Multiplier: 瘦模型

寬度乘子(α):把輸入/輸出通道數縮小,論文設置倍率是(0.25, 0.5, 0.75, 1.0)之一。

1.3 Resolution Multiplier: 窄模型

解析度乘子(ρ):減少輸入/輸出的解析度,論文設置解析度為(224, 192, 160, 128)之一。

論文在ImageNet上做實驗(α從左到右分別是0.25, 0.5, 0.75, 1.0)。
去比較這4種設置的模型準確率。
基本上只是證實了一件事:

在都是深度可分離卷積的設計下,又寬又胖的模型還是比較強
但是模型基本上都很輕量化,最大的也僅有 4M 個參數。
而且解析度提高所增多的參數量較提高寬度來的少。

03


2. 結語

MobileNet參數量極少是一大賣點。

模型 參數量
ResNet50 v1 23M
DensNet121 7M
MobileNet v1 3M

只是他的準確率不怎麼好看。

模型 首發年分 ImageNet test top-5 error
AlexNet 2012 15.32%
VGG 2014 6.8%
GoogleNet 2014 6.67%
ResNet 2015 3.57%
ResNeXt 2016 3.03%
SENet 2017 2.25%
MobileNet 2017 10.5%

你全都要?

那有沒有參數量和MobileNet差不多,
但是準確率能和state-of-the-art也差不多的架構呢?
有的!明天讓我來為你介紹...

3. 參考資料

  1. https://arxiv.org/abs/1704.04861

上一篇
[Day 11] 從零開始的 DenseNet 生活
下一篇
[Day 13] 從 tensorflow.keras 開始的 EfficientNet 生活
系列文
AI Facial Expression Recognition: Data, Model, Application30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言